/**
 * controls.h
 * message here should be handled by main business logic (MODULE_LM in smcf)
 **/

#ifndef __CONTROLS_H__
#define __CONTROLS_H__

/**
 * NOTE: set working mode
 *
 * if WORKING_MODE_PHOTO: in this mode, movie record will stoped, preview still working.
 * if WORKING_MODE_MOVIE: in this mode, movie record and preview started.
 * if WORKING_MODE_PLAYBACK: in this mode, sensor will stop work.
 **/
#define CTL_MSG_I_SET_MODE			0x01

/**
 * NOTE: set the photo size
 * the photo size, this size scaled from the origin size of capture by software.
 **/
#define CTL_MSG_I_SET_PHOTO_SIZE		0x02

/**
 * NOTE: capture one phote
 *
 * In WORKING_MODE_PHOTO mode, the origin size of the capture is sernsor max size.
 * In WORKING_MODE_MOVIE mode, the origin size of the capture is video size.
 * In WORKING_MODE_PLAYBACK, can't support this message.
 **/
#define CTL_MSG_I_CAPTURE			0x03

/**
 * NOTE: start or stop movie record
 **/
#define CTL_MSG_I_START_RECORD			0x04
#define CTL_MSG_I_STOP_RECORD			0x05

/**
 * NOTE: set movie record size
 **/
#define CTL_MSG_I_SET_MOVIE_SIZE		0x06

/**
 * NOTE: set one movie time
 * if CONF_CYCLIC_REC_OFF, the movie will record in one file.
 **/
#define CTL_MSG_I_SET_CYCLIC_REC		0x07

/**
 * NOTE: open / close WDR
 **/
#define CTL_MSG_I_ENABLE_WDR			0x08
#define CTL_MSG_I_DISABLE_WDR			0x09

/**
 * NOTE: set EV value
 **/
#define CTL_MSG_I_SET_EV			0x10

/**
 * NOTE: enable / disable audio while record
 **/
#define CONF_ENABLE_AUDIO			0x11
#define CONF_DISABLE_AUDIO			0x12

/**
 * NOTE: set priview size of RTSP stream
 **/
#define CTL_MSG_I_SET_PREVIEW_SIZE		0x13

/**
 * NOTE: set bitrate of movie record or rtsp preview
 **/
#define CTL_MSG_I_SET_REC_BITRATE		0x14
#define CTL_MSG_I_SET_PREVIEW_BITRATE		0x15

/**
 * NOTE: set gsensor sensitivity for lock emergency video
 **/
#define CTL_MSG_I_SET_LOCK_GSENSOR_SENS		0x16

/**
 * NOTE: set gsensor sensitivity for parking monitoring
 **/
#define CTL_MSG_I_SET_MONITOR_GSENSOR_SENS	0x17

/**
 * NOTE: set wifi ssid of hostap mode
 **/
#define CTL_MSG_I_SET_WIFI_SSID			0x18
#define CTL_MSG_I_SET_WIFI_PWD			0x19

/**
 * NOTE: reconnect wifi
 **/
#define CTL_MSG_I_RECONNECT_WIFI		0x20

/**
 * NOTE: set date and time
 **/
#define CTL_MSG_I_SET_DATE_TIME			0x21
#define CTL_MSG_I_SET_TIME			0x22

/**
 * NOTE: set poweroff time after power supply off
 **/
#define CTL_MSG_I_SET_AUTO_POWEROFF_TIME	0x23

/**
 * NOTE: set language
 **/
#define CTL_MSG_I_SET_LANGUAGE			0x24

/**
 * NOTE: format sdcard
 **/
#define CTL_MSG_I_FORMAT_SDCARD			0x25

/**
 * NOTE: factory sdcard
 **/
#define CTL_MSG_I_FACTORY_RESET			0x26

#endif /* __CONTROLS_H__ */
